Search

แน่นอนว่าถ้าเพิ่งเริ่มทำงาน หรือ ศึกษาการเขียนโปรแ...

  • Share this:

แน่นอนว่าถ้าเพิ่งเริ่มทำงาน หรือ ศึกษาการเขียนโปรแกรมใหม่ ๆ อาจจะยังไม่รู้จักกับคำ ๆ นี้กัน
.
วันนี้แอดจะสรุปเรื่องราวของ Model View Controller หนึ่งในรูปแบบสถาปัตยกรรมซอฟต์แวร์ที่ได้รับความนิยมรูปแบบนี้ให้ทุกคนแบบง่าย ๆ ไปพร้อมกันน ^_^
.
⭐️ ทำไมต้อง MVC ?
ต้องบอกก่อนเลยว่า MVC นั้นเป็น pattern การเขียนโค้ดรูปแบบหนึ่งที่ได้รับความนิยมมาก
.
ซึ่งหากเริ่มเขียนซอฟแวร์แล้วยังมีฟังก์ชันน้อย หรือการทำงานน้อยก็อาจจะไม่เห็นภาพว่าทำไมต้องเขียนโค้ดให้เป็น pattern แต่ถ้าเขียนไปซักระยะหนึ่งมีฟังก์ชันเยอะขึ้น
.
แล้วยิ่งถ้าไม่ได้เขียนนานแล้วกลับมาดูโค้ดที่ไม่มีการจัดรูปแบบ รับรองเลยว่าปวดหัวแน่นอน ซึ่งการเขียนโค้ดแบบเป็น pattern นี่แหละจะช่วยให้การอ่านโค้ดง่ายขึ้น <3 <3
.
และการจัดองค์ประกอบโค้ดที่แยกการทำงานชัดเจนที่เป็นจุดเด่น MVC จะทำให้เราเขียนโค้ดอย่างเป็นระบบและจัดการโค้ดได้ง่ายขึ้น
.
🔥 ว่าแต่แนวคิดของ MVC เป็นยังไงกันนะ ?
.
แนวคิดของ MVC นั้นจะใช้หลักการของ OOP ซึ่งแบ่งการทำงานหลักๆให้เป็นรูปแบบของ object
.
โดยที่ MVC นั้นกำหนดชื่อ object มาให้เรียบร้อยแล้วตามชื่อเลยก็คือ model view controller ซึ่งมีกติกาคือ การทำงานของทั้ง 3 object นี้จะแยกการทำงานอย่างชัดเจนห้ามก้าวก่ายงานกันเด็ดขาด

⚡️ หน้าที่ และ ความสำคัญของแต่ละส่วน
.
✅ เริ่มต้นที่ Model
.
การทำงานของ model จะจัดการส่วนที่ข้อมูลทั้งหมดจะคอยเตรียมข้อมูลที่เหมาะสมไว้ และ model นั้นจะทำงานเมื่อ controller ร้องขอเท่านั้น
.
✅ ตามด้วย View
.
view นั้นจะจัดการส่วนของหน้าตาทั้งหมด หรือส่วนติดต่อกับผู้ใช้โดยตรง (user interface)
.
โดย view นั้นจะรับคำสั่งการทำงานจาก controller และเป็นตัวกลางให้ผู้ใช้ติดต่อกับ controller อีกด้วย
.
✅ ส่วนสุดท้ายก็คือ Controller
.
controller เปรียบเสมือนกับมันสมองและศูนย์กลางการทำงานทั้งหมด จะเห็นว่าทุกส่วนนั้นจะติดต่อกับ controller ทั้งหมดรอคอยคำสั่งจาก controller นอกจากนี้ controller จะจัดการทำงานในส่วนที่เป็น logic ทั้งหมดในระบบ
.
👨‍💻 การประยุกต์ใช้งาน MVC
อ่านทฤษฎีมาแล้วอาจจะยังไม่เห็นภาพว่าแต่ละส่วนทำงานยังไง งั้นมาลองยกตัวอย่างจากการล็อคอินเข้าสู่ระบบของเว็บไซต์ทั่วไปกันเลย
.
👉 เริ่มจากผู้ใช้จะติดต่อ V จากนั้น V จะไปบอกกับ C
C เมื่อได้รับข้อความจาก V จะส่งข้อมูลไปหา M เพื่อตรวจสอบความถูกต้อง
.
👉 เมื่อ M ได้ยินดังนั้นจึงติดต่อฐานข้อมูลเพื่อตรวจสอบข้อมูลแล้วส่งผลกลับไปหา C
.
👉 เมื่อ C ได้ผลการตรวจสอบมาก็จะดำเนินงานในขั้นต่อไป โดยที่มี 2 กรณีคือ
.
👉 การลงชื่อเข้าใช้สำเร็จ : C สั่งการให้ V ติดต่อผู้ใช้โดยเปลี่ยนหน้าเว็บเป็นหน้าเว็บหลัก
.
👉 การลงชื่อเข้าใช้ไม่สำเร็จ : C สั่งการให้ V ติดต่อผู้ใช้โดยบอกผู้ใช้ว่า รหัสผ่าน ผิดพลาด
.
👉 สุดท้ายแล้วก็อยากให้ทุกคนลองนำ MVC ไปใช้กับการเขียนโค้ดของแต่ละคนดู
.
อาจจะเป็นการลองคิดเล่นๆว่าถ้าเป็นโปรเจคของเราจะแบ่งการทำงานเป็น MVC ยังไงบ้าง หรือจะเอาไปใช้จริงเลย แต่ก็ฝากไว้ว่าการนำ pattern ไปใช้ในการเขียนโค้ดนั้นไม่สูญเปล่าแน่นอน
.
เพราะนอกจากจะทำให้เรากลับมาอ่านโค้ดของเราได้ง่ายขึ้นแล้ว ยังทำโค้ดให้ออกมาเป็นระบบทำให้จัดการได้ง่าย
.
และเป็นการกำหนดแบบแผนให้คนอื่นที่มาร่วมทำงานกับเราทำงานไปในทิศทางเดียวกันได้อีกด้วย 😍
.
#BorntoDev - 🦖 Digital Academy ให้การพัฒนาทักษะเทคโนโลยีเป็นเรื่องสนุกไปพร้อมกับเรา


Tags:

About author
BorntoDev (www.BorntoDev.com) เว็บไซต์ที่เกี่ยวกับการสอนการพัฒนาโปรแกรมหรือผลงานทางด้านคอมพิวเตอร์ จัดทำขึ้นเมื่อ 27 ตุลาคม 2556 โดยมีจุดมุ่งหมายเพื่อต้องการให้ผู้ที่สนใจพัฒนาซอฟต์แวร์ แอปพลิเคชั่น หรือ ผลงานทางด้านคอมพิวเตอร์ได้มีแหล่งในการเรียนรู้ที่ง่าย และ สนุก ไม่เน้นทฤษฏีจนทำให้ท้อหรือถอดใจไปก่อนจัดทำขึ้นโดยกลุ่มคนที่ต้องการจะเห็นความเปลี่ยนแปลงทางด้านเทคโนโลยี และ มีความหวังว่าจะมีนักพัฒนารุ่นใหม่ของไทยที่มีผลงานที่ยิ่งใหญ่ขึ้นมาได้ โดยจะใช้หลักการ “เน้นสนุก สอนเข้าใจ ทำได้จริง” สามารถเข้ามาเรียนรู้การพัฒนาซอฟต์แวร์ได้ตั้งแต่ระดับมัธยมศึกษาจนถึงนักศึกษาในมหาวิทยาลัย และ บุคคลทั่วไปที่สนใจในการพัฒนาซอฟต์แวร์และเทคโนโลยีคอมพิวเตอร์ ซึ่งในปัจจุบันนี้ถือว่ามีความสำคัญกับทุกสาขาอาชีพ และ เข้ามาเกี่ยวข้องกับทุกๆอย่างในชีวิตของเรา
ความสำเร็จของเรา คือ "การที่ได้เห็นคนไทยหันมาพัฒนาซอฟต์แวร์เพื่อโลก ที่ดีขึ้น"
View all posts